///WHY ROVERUTIL???
#ifndef ROVERUTIL_H_
#define ROVERUTIL_H_

#include "ros/ros.h"
//
//#include "ros/publisher.h"
//#include "ros/node_handle.h"
//#include "ros/rate.h"

#include "std_msgs/String.h"
#include "geometry_msgs/Twist.h"

/**
 * Publishes movement operations for the robot's rover unit
 */
class Driver {

private:

	geometry_msgs::Twist m_velCommand;
	ros::NodeHandle m_nodeHandler;
	ros::Publisher m_roverMdlPub;
	ros::Rate m_loop_rate;

	// current speed used for turn without changing speed
	double m_current_speed;

public:
	Driver();
	Driver(double speed, double direction);
	void move(double speed, double direction);
	void turn(double direction);
	void stop();
};

#endif

